//
//  MYStatus.swift
//  MYWeibo
//
//  Created by Magic Yu on 16/4/15.
//  Copyright © 2016年 Magic Yu. All rights reserved.
//

//表示一条微博记录
import UIKit

class MYStatus: NSObject {

    /// 唯一的一条微博记录
    //在64位的设设备上 没有任何问题,整型数据的长度为 64位
    //在32的设置的上 整性数据的长度就被截断
    var id: Int64 = 0
    /// 微博创建时间
    var created_at: String?
    /// 微博正文
    var text: String?
    /// 微博来源
    var source: String?
    /// 转发数量
    var reposts_count: Int = 0
    /// 评论数量
    var comments_count: Int = 0
    /// 点赞数量
    var attitudes_count: Int = 0
    
    /// 转发的微博  转发微博实质还是微博 字段信息与MYStatus中的一致 所以它就是MYStatus类型的
    var retweeted_status: MYStatus?
    
    var pic_urls: [MYStatusPicture]?
    
    //用户属性
    var user: MYUser?

    
    init(dict: [String: AnyObject]) {
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    
    override func setValue(value: AnyObject?, forKey key: String) {
        //需要判断key是否是user
        if key == "user" {
            //字典转模型
            user = MYUser(dict: value as! [String: AnyObject])
            //return不能忘记 不然字典转模型就白写了
            return
        }
        
        //判断key是否是retweeted_status
        if key == "retweeted_status" {
            //字典转模型
            retweeted_status = MYStatus(dict: value as! [String: AnyObject])
            return
        }
        
        //判断key是否是pic_urls
        if key == "pic_urls" {
        
            //遍历数组 获取字典转为模型 添加到模型数组中
            let array = value as! [[String: String]]
            var tempArray = [MYStatusPicture]()
            for item in array {
                //字典转模型
                let pic = MYStatusPicture(dict: item)
            tempArray.append(pic)
            }
            pic_urls = tempArray
            return
        }
        
        

        
        super.setValue(value, forKey: key)
    }
    
    //过滤
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
    }
    
}
